package com.huangguolin.cloud.user.service;

import com.huangguolin.cloud.mybatis.entity.PtUserEntity;
import com.huangguolin.cloud.mybatis.flexigrid.PadingRstEntity;
import com.huangguolin.cloud.mybatis.flexigrid.PagingEntity;
import com.huangguolin.cloud.mybatis.ztree.ZtreeEntity;
import com.huangguolin.cloud.user.entity.SearchUserEntity;

import java.util.List;

public interface UserService {

    /**
     * 分页查询
     *
     * @param entity 查找条件
     * @param paging 分页条件
     * @return
     */
    PadingRstEntity<PtUserEntity> queryUserInfoBypage(SearchUserEntity entity, PagingEntity paging);

    /**
     * 查询所有角色列表
     * @return
     */
    List<ZtreeEntity> queryRoleZtreeAll();

    /**
     * 保存角色和用户关系
     * @param userIds 用户id列表
     * @param roleIds 角色id列表
     */
    void saveRoleRefUser(String userIds, String roleIds);

    /**
     * 根据用户id查询角色列表
     * @param userId
     * @return
     */
    List<ZtreeEntity> queryRoleZtreeByUser(String userId);

    /**
     * 通过用户ID重置密码
     * @param userId
     */
    void resetPasswordByUser(String userId,String resetPass);

    /**
     * 批量重置密码；
     * @param userId
     */
    void resetPasswordAll(String userId,String resetPass);
}
